package jssia.database.statement;

public class Keywords {

    // action
    public static final String SELECT = "SELECT ";
    public static final String UPDATE = "UPDATE ";
    public static final String FROM = " FROM ";
    public static final String INSERT_INTO = "INSERT INTO ";
    public static final String INSERT_IGNORE_INTO = "INSERT IGNORE INTO ";
    public static final String SET = " SET ";
    public static final String DELETE_FROM = "DELETE FROM ";
    public static final String JOIN = " JOIN ";
    public static final String LEFT_JOIN = " LEFT JOIN ";
    public static final String ON = " ON ";
    public static final String CALL = "CALL ";
    public static final String ALTER_TABLE = "ALTER TABLE ";
    public static final String ADD = " ADD ";
    public static final String PARTITION = "PARTITION ";
    public static final String VALUES_LESS_THAN = " VALUES LESS THAN ";
    public static final String TRUNCATE_TABLE = "TRUNCATE TABLE ";
    public static final String DELETE = "DELETE ";

    // values
    public static final String VALUE = "?";

    // date time
    public static final String CURRENT_TIMESTAMP = "CURRENT_TIMESTAMP";
    public static final String DAY = "DAY";
    // aggregates
    public static final String TOTAL_COUNT = "COUNT(*)";
    public static final String SUM = "SUM(";

    // condition
    public static final String WHERE = " WHERE ";
    public static final String EQUALS = "=";
    public static final String LESS_THAN = "<";
    public static final String GREATER_THAN = ">";
    public static final String AND = " AND ";
    public static final String OR = " OR ";
    public static final String LIMIT = " LIMIT ";
    public static final String FOR_UPDATE = " FOR UPDATE";
    public static final String DESC = " DESC";
    public static final String ORDER_BY = " ORDER BY ";
    public static final String ON_DUPLICATE_KEY_UPDATE = " ON DUPLICATE KEY UPDATE ";
    public static final String REGEXP = " REGEXP ";
    public static final String GROUP_BY = " GROUP BY ";
    public static final String BETWEEN = " BETWEEN ";
    public static final String NOT_IN = " NOT IN ";
    public static final String AS = " AS ";

    // math
    public static final String PLUS = "+";
    public static final String MINUS = "-";
    public static final String MULTIPLY = "*";
    public static final String DIVIDE = "/";

    // types
    public static final String SECOND = "SECOND";
    public static final String MINUTE = "MINUTE";

    // functions
    public static final String TIMESTAMPDIFF = "TIMESTAMPDIFF";
    public static final String TO_DAYS = "TO_DAYS";
    public static final String UNIX_TIMESTAMP = "UNIX_TIMESTAMP";

    // punctuation
    public static final String _ = ", ";
    public static final String OPEN_PARENTHESIS = "(";
    public static final String CLOSE_PARENTHESIS = ")";
}
